package com.cn.zengzeng.spbzengzeng.clone;

/**
 * @Description:  浅拷贝：创建一个新对象，然后将当前对象的非静态字段复制到该新对象，如果字段是值类型的，那么对该字段执行复制；
 * 如果该字段是引用类型的话，则复制引用但不复制引用的对象。因此，原始对象及其副本引用同一个对象
 * @Author: ZhangZengZeng
 * @Date: 2022/5/9 14:29
 */
public class Demo {
    public static void main (String[] args) {
        Test test = new Test("zhangsan",23);
        test.setTest01(new Test01("陕西"));
        System.out.println("test = " + test);
        test.display("test");
        try {
            Test clone = (Test) test.clone();
            System.out.println("clone = " + clone);
            clone.display("clone");
            Test01 test01 = clone.getTest01();
            test01.setAddress("西安");
            System.out.println("修改拷贝对象后");
            test.display("test");
            clone.display("clone");
        }catch(CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
}